With a personal computer and an appropriate software package, a user can produce virtually any type of document that may be desired. For example, word processing software is used to produce text documents. Graphic design or computer-aided design software can be used to produce diagrams, charts, graphs, designs, etc. Spreadsheet software allows a user to manage large amounts of financial and other types of information. Database software similarly allows a user to manage various databases of information such as, client contact information, address and phone number information or “to do” items.
Frequently, it is desirable to generate a hardcopy of a document or data set that is produced or stored on a personal computer. A hardcopy may be desired, for example, for record keeping purposes or to share with another party. Consequently, a wide variety of printers and printing devices have been developed that can receive a print job from a host computer and produce a hardcopy of the document or data represented by that print job. In order to save space, particularly in home offices, many users employ a multi-function peripheral (MFP) with a host computer. A multi-function peripheral is a device that combines some form of printer with one or more of the following: a scanner, a copier, or a facsimile machine.
As used herein and in the appended claims, the terms “printer” and “printing device” are defined to mean any device that produces a hardcopy from electronic data, including, but not limited to, laser printers, inkjet printers, dot matrix printers, plotters, facsimile machines, digital copiers, photocopiers, multi-function peripherals, and the like. A printer or printing device may produce images on a variety of print media that are in color or are monochromatic.
The term “print job” is defined as data that has been specifically formatted for submission to a particular printer from which the printer can generate a hardcopy representing an underlying data set from which the print job was created. Most personal computers include programming that will be referred to generally as a “printer driver.” A printer driver is a piece of software or firmware that receives data or a document to be printed from an application running on the computer. The printer driver formats the data for use by a corresponding printer, i.e., creates a print job, and then transmits the print job to the printer. Using the print job, the printer can produce a hardcopy of the underlying data or document.
In order to produce hardcopy documents, a printer or printing device uses supplies of materials that are “consumed” as documents are printed. Such consumables include, for example, toner and print media. As used herein and in the appended claims, “toner” shall be broadly defined to include any material that is selectively distributed by a printer or printing device on a print medium to form an image. Thus, “toner” includes, but is not limited to, ink, toner, colorant, printing fluid, etc. “Print media” or a “print medium” shall be broadly defined as any medium on which a printer or printing device prints an image. For example, types of“print media” include, but are not limited to, paper, cardboard, card stock, transparencies, vinyl, etc.
As used herein and the appended claims, the term “consumable” shall be defined to mean any material consumed by a printing device to produce hardcopy documents. For example, a consumable may be toner and the disposable cartridge or container that contains the toner in the printing device. A consumable may also be a stack or supply of print media. In addition to toner and print media, a “consumable” may be any part or portion of a printer or printing device that is periodically replaced to allow the printer or printing device to continue producing printed hardcopy documents.
Printing devices have become increasingly complex in recent years adding new features and capabilities in addition to improved print quality. This increasing complexity is evident in both the hardware and computer-readable instructions (e.g., firmware or embedded software) of a printing device. Due to the complexity of modem printing devices, especially in the device firmware or embedded software, glitches or bugs are sometimes discovered only after a product has been released. Additionally, embedded software upgrades are often created after a product has been released to allow a printing device to operate more effectively or efficiently, or to use new or improved technologies. In order to fix a firmware bug or install a firmware upgrade, new or additional firmware is transmitted to the printing device. This new or additional firmware is often called a “patch” and may be transferred to the printing device by one of several conventional methods, e.g., floppy disc, compact disc, Internet download, etc.
While these methods of transferring firmware patches or upgrades to a printing device are commonly used, the process is often complicated for many printing device users and may require a technician, printing device administrator, or other specially trained person. Additionally, the amount of user interaction currently required, e.g., downloading a specific patch or upgrade, choosing a particular printing device configuration, etc., often requires a significant amount of time or procedural experience.